/**
 * 权限模块的接口
 */

// 角色类
export interface Role{
  id:number, // 主键
  nameZh:string,
  name:string,
  defaultRole:boolean, // 默认角色
  enabled:boolean, // 是否可用
  // 特殊属性，一般用于配合前端展示
  loading:boolean, // 记录状态，用于在表格中表示该行是否在加载中。例如某角色状态的修改。
}
// 部门类
export interface Department{
  id:number, // 主键
}
// 账户类
export interface User{
  id:number, // 主键
  nickName?:string, // 网名
  headImgUrl?: string, // 头像
  departmentId?:number, // 部门主键
  department?:Department, // 部门对象
  roleIds?:number[], // 角色id集合，用于传递到服务端
  roles?:Role[], // 角色集合，一般是从服务端传到前端
}

// 权限类
export interface Permission{
  id:number, // 主键
  type:number, // 类型
  name:string, // 菜单名称
  linkType:number, // 菜单类型
  route:string, // 对应路由的path
  component:string, // 对应路由的name
  path:string, // 对应路由的组件地址
  redirect:string, // 对应路由的redirect
  url:string, // 链接
  children:Permission[], // 子组件集合
  requireAuth: boolean, // 是否要求登录后才能访问
}

// 密码修改
export interface UserPassword{
  password:string, // 原密码
  newPassword:string, // 新密码
  confirmPassword:string, // 确认密码
}
